package com.scrcu.core.batch.service;

/**
 * 批量事件回调
 *
 * @author Mac_J
 */
public interface BatchCallback {

    /**
     * 中断
     *
     * @param exeId
     * @param step
     * @param addr
     */
    void onSuspend(String exeId, String step, String addr);

    /**
     * 失败
     *
     * @param exeId
     * @param step
     * @param addr
     * @param error
     * @param params
     */
    void onFailed(String exeId, String step, String addr, String error, String params);

    /**
     * 成功
     *
     * @param exeId
     * @param addr
     */
    void onSuccess(String exeId, String addr);

    /**
     * 步骤完成
     *
     * @param exeId
     * @param step
     * @param addr
     */
    void onStep(String exeId, String step, String addr);

    /**
     * 被停止
     *
     * @param exeId
     * @param step
     * @param addr
     */
    void onStop(String exeId, String step, String addr);

    /**
     * 超时
     *
     * @param exeId
     * @param step
     * @param addr
     */
    void onTimeout(String exeId, String step, String addr);

    /**
     * 流程完成排队得以实际执行时触发
     *
     * @param exeId
     * @param addr
     */
    void onBegin(String exeId, String addr);
}
